Field
Various communication systems may benefit from buffer management. For example, systems employing a packet data convergence protocol may be enhanced with network-side buffer management that is configured to manipulate transmission control protocol packet senders.
Description of the Related Art
In third generation partnership project (3GPP) radio access systems such as wideband code division multiple access (WCDMA)/high speed packet access (HSPA) and long term evolution (LTE), a convergence point between the mobile backhaul, as well as the corresponding transport network protocols, and the radio access, including the air interface protocol stack, is the packet data convergence protocol (PDCP) layer. This layer is at the top of the user plane Radio Network Layer 2 protocol stack. The location depends on the radio access technology. It is located at the evolved node B (eNB) in LTE systems, at the HSPA+ base transceiver station (BTS) in evolved HSPA systems, or at the radio network controller (RNC) in WCDMA/HSPA systems. For each radio bearer, a separate PDCP entity is created that, among other tasks, stores the downlink data until the transfer to the UE is completed by the radio link control (RLC) layer below. User equipment (UEs) may establish one or more radio bearers, which are logically separate channels of data and which potentially require different treatment by the air interface packet scheduler. However, there is a one-to-one mapping between a PDCP buffer and a radio bearer.
Applications running on mobile devices predominantly use the transmission control protocol (TCP) as the transport protocol to download content from the Internet. The TCP is a greedy protocol that regularly increases its transmission rate in order to experimentally probe for the maximum available bandwidth between the sender and the receiver. Provided that sufficient amount of data is available for transmission, at some point the TCP will reach the limitation imposed by the bottleneck link and its buffer within the end-to-end path. In 3G/LTE systems, the bottleneck is often the radio interface. Thus, data is accumulated in the PDCP buffer in response to the bottleneck. The TCP also tends to transmit data in bursts, which may reach considerable size given the possibility and high penetration of window scaling. In case data cannot be transmitted from the buffer faster than it arrives, the buffer eventually overflows and the exceeding packets are tail dropped. Tail drop is an efficient technique to handle buffer overload, however its negative impacts on the data flows can be quite significant in case of sources that operate based on the feedback received from their clients. TCP is an example of the impacts of the tail drops that can cause efficiency and fairness issues such as flow synchronization, congestion collapse and poor fairness. Because of this sensibility, packet discards as buffer management mechanism may not be the best technique, for example when applied to the PDCP buffers shared by a few concurrent flows of the same UE.
A common reaction of the equipment vendors and network operators to tail drops was to increase the buffer size throughout the network to avoid tail drops; accordingly, the PDCP buffers are nowadays being inflated up to multiple Megabytes. Increased buffer sizes have created what is referred to as the “bufferbloat,” which occurs when large amount of data is stored in the buffer.
Bufferbloat causes increased queuing delay and end-to-end latency, which degrades the experience of interactive applications, such as web browsing or chat. Increasing the buffers alone has also failed to eliminate tail drops altogether. On the contrary, when tail drops occur at a large buffer, they tend to have more drastic impact, as they end up discarding more data and the TCP connections can reach even larger window size, thus sending larger bursts, before they hit the buffer limitation. Additionally, the increased round trip time caused by these buffers has an impact on the efficiency of the TCP flow/congestion control as it will detect congestion with delay, once the excess packets at the overloaded links overflow the long buffers.
The RNC PDCP buffer has no standardized management technique, leaving tail drop as the only mechanism to trigger the TCP congestion control. In LTE, the standard PDCP buffer management mechanism is the discard timer, which drops all PDUs that have been buffered for longer than a given time interval. This mechanism, however, does not interact well with TCP traffic, as it discards packets in bursts, similarly to tail drops, and it does not address the bufferbloat issue either.
Generic buffer management mechanisms commonly referred to as active queue management (AQM), such as random early detection (RED) or controlled delay (CoDel) were also applied for PDCP buffer management. The AQMs were designed for the core Internet infrastructure to manage transport buffers and enforce TCP fairness at high capacity aggregation links, where a large number of concurrent TCP connections, in the order of hundreds or thousands, are multiplexed on the same link and share the same buffer. The principle of all AQMs is thus based on probabilistic discards applied randomly to whatever packet happens to arrive at or transmitted from the managed buffer. This may be a reasonable behavior on an aggregation link where there are many concurrent flows that distribute the impact of random discards. However, applying these mechanisms to the PDCP buffers may be a misuse as the prerequisite of their efficient operation, as there may be high number of parallel flows with different sources and destinations. Such efficient operation may not fulfilled by the PDCP buffers that are usually shared only by a few concurrent TCP connections with the same destination, such as a given UE. Therefore, when the AQMs are applied to the PDCP buffer, their random-discard-based behavior may start to be problematic as they might cause repeated drops from the same connection, cannot prevent tail drops and/or buffer bloat and due to the limited diversity way too often discard packets from TCP connections serving the same interactive application of the user. The latter may cause significant QoE degradation.
Currently there is no efficient buffer management mechanism for PDCP buffers in LTE or WCDMA systems. Efficient buffer mechanism in this context can mean that: (1) the amount of tail drops that are causing TCP degradation is reduced or completely eliminated; (2) fairness is maintained; and (3) QoE implications are minimal. None of the available buffer management mechanism fulfils this criteria due to the below reasons.